// ast 语法树 vnode
// {
//   tag: 'div',
//   attrs: [{id: '#app'}],
//   children: [{tag: null, text: 'hello'}]
// }
import { parseHTML } from './parseAst';
import { generate } from './generate';
export function compileToFunction(el) {
  let ast = parseHTML(el);
  // 将ast语法树变成render函数
  let code = generate(ast);
  // 将render字符串变成函数 _c _v解析 _s解析变量
  let render = new Function(`with(this){return ${code}}`);
  
  // 将render函数转化为vnode
  return render
}
